package com.ruoyi.warning.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.warning.domain.dto.ConfigurationDTO;
import com.ruoyi.warning.domain.entity.Configuration;
import com.ruoyi.warning.domain.entity.Event;
import com.ruoyi.warning.domain.entity.EventDetail;
import com.ruoyi.warning.domain.query.ConfigurationQuery;
import com.ruoyi.warning.domain.vo.ConfigurationVO;

import java.util.List;
import java.util.Set;

/**
 * <p>
 * 告警配置表 服务类
 * </p>
 *
 * @author chenhc
 * @since 2025-02-06
 */
public interface IConfigurationService extends IService<Configuration> {

    TableDataInfo getConfigurationPage(ConfigurationQuery query);

    String saveConfiguration(ConfigurationDTO configuration);

    String deleteConfiguration(List<String> ids);

    String updateConfiguration(ConfigurationDTO configuration);

    String warning(List<String> ids) throws Exception;

    Event warningSend(Event event, EventDetail eventDetail, Configuration configuration) throws Exception;

    Event warningSend(Event event, EventDetail eventDetail, ConfigurationVO configuration) throws Exception;

    Object getDetails(String id);

    List<Configuration> getConfigurationList(ConfigurationQuery query);

    Set<String> getMonth(String id);

}
